wgpu-core 0.19.4

WebGPU core logic on wgpu-hal
Documentation
This library safely implements WebGPU on native platforms. It is designed for integration into browsers, as well as wrapping into other language-specific user-friendly libraries. ## Feature flags - **`api_log_info`** --- Log all API entry points at info instead of trace level. - **`resource_log_info`** --- Log resource lifecycle management at info instead of trace level. - **`link`** _(enabled by default)_ --- Use static linking for libraries. Disale to manually link. Enabled by default. - **`renderdoc`** --- Support the Renderdoc graphics debugger: [https://renderdoc.org/](https://renderdoc.org/) - **`strict_asserts`** --- Apply run-time checks, even in release builds. These are in addition to the validation carried out at public APIs in all builds. - **`trace`** --- Enable API tracing. - **`replay`** --- Enable API replaying - **`serial-pass`** --- Enable serializable compute/render passes, and bundle encoders. - **`wgsl`** --- Enable `ShaderModuleSource::Wgsl` - **`fragile-send-sync-non-atomic-wasm`** --- Implement `Send` and `Sync` on Wasm, but only if atomics are not enabled. WebGL/WebGPU objects can not be shared between threads. However, it can be useful to artificially mark them as `Send` and `Sync` anyways to make it easier to write cross-platform code. This is technically _very_ unsafe in a multithreaded environment, but on a wasm binary compiled without atomics we know we are definitely not in a multithreaded environment. ### Backends, passed through to wgpu-hal - **`metal`** --- Enable the `metal` backend. - **`vulkan`** --- Enable the `vulkan` backend. - **`gles`** --- Enable the `GLES` backend. This is used for all of GLES, OpenGL, and WebGL. - **`dx12`** --- Enable the `dx12` backend.